IOS开发总结
IOS技术栈
编程语言:Swift、Objective-C。
- Swift:Swift旨在比Objective-C更安全、更快,并且更易于学习。
- Objective-C:传统的iOS开发语言,仍然被广泛使用,尤其是在维护旧项目或使用某些第三方库时。
Objective-C 项目 启动入口
入口及项目结构核心环节
- main.m
在 Objective-C 项目中,main.m 是应用程序的入口文件,它包含了 main 函数,这是 C 和 C++ 程序的标准入口点。
main.m 文件通常位于项目的根目录下,它负责设置应用程序的环境,创建和返回一个 UIApplication 实例,并启动事件循环。
- UIApplicationMain
UIApplicationMain 是一个宏,它在 main.m 文件中被调用,用于启动应用程序的运行循环。
这个宏接受几个参数,包括应用程序的类、启动器的类、启动器的参数和返回值。
- AppDelegate
AppDelegate 是一个继承自 UIApplicationDelegate 的类,它负责协调应用程序的生命周期事件。
在 main.m 文件中,UIApplicationMain 宏会创建 AppDelegate 实例,并在应用程序启动时调用其方法,如 application:didFinishLaunchingWithOptions:。
- Info.plist
Info.plist 文件包含了应用程序的配置信息,如应用程序的显示名称、Bundle Identifier、启动画面等。
在 Info.plist 中,你可以指定 UIApplicationDelegate 类的名称,这个类就是 AppDelegate。
- 启动画面(Launch Screen):
启动画面是用户在打开应用程序时首先看到的界面,它通常在 LaunchScreen.storyboard 或 LaunchScreen.xib 文件中定义。
- RootViewController
RootViewController 是应用程序的初始视图控制器,它在 AppDelegate 的 window 属性中被设置。
在 application:didFinishLaunchingWithOptions: 方法中,你可以加载并设置 RootViewController。
在 Swift 项目中,main.swift 文件取代了 main.m,但入口点的概念和流程基本相同。Swift 项目同样使用 UIApplicationMain 宏来启动应用程序,并且也有一个 AppDelegate 类来处理应用程序的生命周期事件。
总的来说,iOS 项目的入口点是 main.m 或 main.swift 文件中的 UIApplicationMain 宏,它启动了应用程序的运行循环,并设置了 AppDelegate 和 UIApplication。这些组件共同定义了应用程序的启动流程和生命周期管理。